<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>qspipsu: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">qspipsu
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li class="current"><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">qspipsu Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who Date     Changes
--&mdash; &mdash; -----&mdash; --------------------------------------------&mdash;.
1.0   hk  08/21/14 First release
      sk  03/13/15 Added IO mode support.
      hk  03/18/15 Switch to I/O mode before clearing RX FIFO.
                   Clear and disable DMA interrupts/status in abort.
                   Use DMA DONE bit instead of BUSY as recommended.
      sk  04/24/15 Modified the code according to MISRAC-2012.
      sk  06/17/15 Removed NULL checks for Rx/Tx buffers. As
                   writing/reading from 0x0 location is permitted.
1.1   sk  04/12/16 Added debug message prints.
1.2 nsk 07/01/16 Added LQSPI support
                 Modified <a class="el" href="group__qspipsu__api.html#ga389021b0119ed0e51648c4d4b984b98a" title="select QSPI controller ">XQspiPsu_Select()</a> macro in <a class="el" href="xqspipsu_8h.html">xqspipsu.h</a>
                 Added <a class="el" href="group__qspipsu__api.html#ga6079956c578f636665b87ca5f60b8bad" title="Read Configuration register of LQSPI Controller. ">XQspiPsu_GetLqspiConfigReg()</a> in <a class="el" href="xqspipsu_8h.html">xqspipsu.h</a>
                 Added required macros in <a class="el" href="xqspipsu__hw_8h.html">xqspipsu_hw.h</a>
                 Modified <a class="el" href="group__qspipsu__api.html#gad0fea713a1ec2a4ce6159439e30f7cd7" title="Sets the options for the QSPIPSU device driver.The options control how the device behaves relative to...">XQspiPsu_SetOptions()</a> to support
                 LQSPI options and updated OptionsTable in
                 <a class="el" href="xqspipsu__options_8c.html">xqspipsu_options.c</a>
      rk  07/15/16 Added support for TapDelays at different frequencies.
    nsk 08/05/16 Added example support PollData and PollTimeout
                 Added  XQSPIPSU_MSG_FLAG_POLL macro in <a class="el" href="xqspipsu_8h.html">xqspipsu.h</a>
                 Added XQspiPsu_Create_PollConfigData and
                 XQspiPsu_PollData() functions in <a class="el" href="xqspipsu_8c.html">xqspipsu.c</a>
1.3 nsk 09/16/16 Update PollData and Polltimeout support for dual parallel
                 configuration. Updated XQspiPsu_PollData() and
                 XQspiPsu_Create_PollConfigData() functions in <a class="el" href="xqspipsu_8c.html">xqspipsu.c</a>
                   and also modified the polldata example
      ms  03/17/17 Added readme.txt file in examples folder for doxygen
                   generation.
      ms  04/05/17 Modified Comment lines in functions of qspipsu
                   examples to recognize it as documentation block
                   and modified filename tag to include them in
                   doxygen examples.
1.4 tjs 05/26/17 Added support for accessing upper DDR (0x800000000)
                 while booting images from QSPI
1.5 tjs 08/08/17 Added index.html file for importing examples
                 from system.mss
1.5 nsk 08/14/17 Added CCI support
1.5 tjs 09/14/17 Modified the checks for 4 byte addressing and commands.
1.6 tjs 10/16/17 Flow for accessing flash is made similar to u-boot
                 and linux For CR-984966
1.6   tjs 11/02/17 Resolved the compilation errors for ICCARM. CR-988625
1.7   tjs 11/16/17 Removed the unsupported 4 Byte write and sector erase
                   commands.
1.7 tjs 12/01/17 Added support for MT25QL02G Flash from Micron. CR-990642
1.7 tjs 12/19/17 Added support for S25FL064L from Spansion. CR-990724
1.7 tjs 01/11/18 Added support for MX66L1G45G flash from Macronix CR-992367
1.7 tjs 01/16/18 Removed the check for DMA MSB to be written. (CR#992560)
1.7 tjs 01/17/18 Added support to toggle the WP pin of flash. (PR#2448)
                   Added <a class="el" href="group__qspipsu__api.html#ga54cce449d0bda6133fe2c254a164e08e" title="Sets the Write Protect and Hold options for the QSPIPSU device driver. ">XQspiPsu_SetWP()</a> in <a class="el" href="xqspipsu__options_8c.html">xqspipsu_options.c</a>
                   Added <a class="el" href="group__qspipsu__api.html#ga0ec97b3d7c6cb24544f0bfa8114b56d7" title="Enables/disables Write Protect pin on the flash parts. ">XQspiPsu_WriteProtectToggle()</a> in <a class="el" href="xqspipsu_8c.html">xqspipsu.c</a> and
                   also added write protect example.
1.7 tjs 03/14/18 Added support in EL1 NS mode (CR#974882)
1.7 tjs 26/03/18 In dual parallel mode enable both CS when issuing Write
                    enable command. CR-998478
1.8 tjs 05/02/18 Added support for IS25LP064 and IS25WP064.
1.8 tjs 06/26/18 Added an example for accessing 64bit dma within
                 32 bit application. CR#1004701
1.8 tjs 06/26/18 Removed checkpatch warnings
1.8 tjs 07/09/19 Fixed cppcheck, doxygen and gcc warnings.
1.8 tjs 07/18/18 Setup64BRxDma() should be called only if the RxAddress is
                 greater than 32 bit address space. (CR#1006862)
1.8 tjs 07/18/18 Added support for the low density ISSI flash parts.
1.8 tjs 09/06/18 Fixed the code in <a class="el" href="group__qspipsu__api.html#ga08036c2fa8996e246d9d529fd2302af9" title="Writes the GENFIFO entries to transmit the messages requested. ">XQspiPsu_GenFifoEntryData()</a> for data
                 transfer length up to 255 for reducing the extra loop.
1.9 tjs 11/22/17 Added the check for A72 and R5 processors (CR-987075)
1.9 tjs 04/17/18 Updated register addresses as per the latest revision
            of versal (CR#999610)
1.9  aru 01/17/19 Fixed the violations for  MISRAC-2012
                 in safety mode .Done changes such as added U suffix,
                 Declared pointer param as const.
1.9  nsk 02/01/19 Clear DMA_DST_ADDR_MSB register on 32bit machine, if the
             address is of only 32bit (CR#1020031)
1.9  nsk 02/01/19 Added QSPI idling support</pre><pre>1.9 akm 03/08/19 Set recommended clock and data tap delay values for 40MHZ,
                 100MHZ and 150MHZ frequencies(CR#1023187)
1.9  nsk 03/27/19 Update 64bit dma support
             (CR#1018102).
1.9  akm 04/03/19 Fixed data alignment warnings on IAR compiler.
1.9  akm 04/03/19 Fixed compilation error in <a class="el" href="xqspipsu__generic__flash__lqspi__example_8c.html#aa6bbd1c49467adb12326f1d14b849a97" title="Read the flash in Linear QSPI mode. ">XQspiPsu_LqspiRead()</a>
                    function on IAR compiler.
1.10 sk  08/20/19 Fixed issues in poll timeout feature.
1.10 akm 08/22/19 Set recommended tap delay values for 37.5MHZ, 100MHZ and
             150MHZ frequencies in Versal.
1.10 akm 09/05/19 Added Multi Die Erase and Multi Die Read support.
1.11 akm 11/07/19 Removed LQSPI register access in Versal.
1.11    akm 11/15/19 Fixed Coverity deadcode warning in
                                XQspipsu_Calculate_Tapdelay().
1.11 akm 02/19/20 Added <a class="el" href="group__qspipsu__api.html#ga769969b43f91def18f7501555ec35b11" title="Starts a DMA transfer. ">XQspiPsu_StartDmaTransfer()</a> and <a class="el" href="group__qspipsu__api.html#ga6be41fd692a96516b0ce22591510c73d" title="Checks for DMA transfer complete. ">XQspiPsu_CheckDmaDone()</a>
                     APIs for non-blocking transfer.
1.11 sd  01/02/20 Added clocking support
1.11 akm 03/09/20 Reorganize the source code, enable qspi controller and
             interrupts in <a class="el" href="group__qspipsu__api.html#ga803eccd67d1dfde416b54488865c1e9d" title="Initializes a specific XQspiPsu instance as such the driver is ready to use. ">XQspiPsu_CfgInitialize()</a> API.
1.11 akm 03/26/20 Fixed issue by updating XQspiPsu_CfgInitialize to return
             XST_DEVICE_IS_STARTED instead of asserting, when the
             instance is already configured(CR#1058525).
1.12    akm 09/02/20 Updated the Makefile to support parallel make execution.
1.13 akm 01/04/21 Fix MISRA-C violations.
1.13 sne 04/23/21 Fixed doxygen warnings.
1.14 akm 06/24/21 Allow enough time for the controller to reset the FIFOs.
1.14 akm 08/12/21 Perform Dcache invalidate at the end of the DMA transfer.
1.17 akm 10/31/22 Add support for Winbond flash w25q02nw.
1.17 akm 12/16/22 Add timeout in QSPIPSU driver operation.
1.17 akm 01/02/23 Use Xil_WaitForEvent() API for register bit polling.
1.18 sb  06/07/23 Added support for system device-tree flow.
1.18 sb  06/19/23 Add memory barrier instruction and convert IsBusy variable
                  to volatile.
1.18 ht  07/18/23 Fixed GCC warnings.
1.18 sb  08/01/23 Added support for Feed back clock
1.19 sb  01/12/24 Added support for baud rate divisior
1.20 ht  09/27/24 Fix IAR warning.</pre><pre></pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
